<!DOCTYPE html>
<html lang="en">
<head xmlns:th="http://www.thymeleaf.org">
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/css/bootstrap.min.css">
    <script src="/js/jquery-3.7.1.min.js"></script>
</head>
<body>
<div class="container-fluid">
    这就是最基本的页面！

    <!-- Button trigger modal -->
    <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal" onclick="preAdd();">
        新增学生
    </button>

    <form class="form-inline">
        <div class="form-group">
            <label for="searchName">姓名：</label>
            <input type="text" class="form-control" id="searchName" placeholder="请输入姓名">
        </div>
        <button type="button" class="btn btn-default" onclick="searchByName()">查询</button>
    </form>


    <table class="table table-bordered">
        <thead>
        <tr>
            <th>#</th>
            <th>姓名</th>
            <th>性别</th>
            <th>成绩</th>
            <th style="width: 100px;">操作</th>
        </tr>
        </thead>
        <tbody id="studentTb">
        <!--
        <tr data-th-each="student:${data}">
            <th scope="row" data-th-text="${student.id}">1</th>
            <td data-th-text="${student.name}">Mark</td>
            <td>
                <span th:if="${student.sex == 0}">未知</span>
                <span th:if="${student.sex == 1}">男</span>
                <span th:if="${student.sex == 2}">女</span>
            </td>
            <td data-th-text="${student.score}">@mdo</td>
        </tr>
        -->
        </tbody>
    </table>

    <!-- 添加查询表单 -->



</div>

<div class="modal fade" tabindex="-1" role="dialog" id="myModal">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title">学生信息</h4>
            </div>
            <div class="modal-body">

                <form id="formStudent">

                    <input hidden="hidden" id="id" name="id"/>
                    <div class="form-group">
                        <label for="name">姓名</label>
                        <input type="text" class="form-control" id="name" name="name" placeholder="姓名">
                    </div>
                    <div class="form-group">
                        <label for="password">密码</label>
                        <input type="password" class="form-control" id="password" name="password" placeholder="密码">
                    </div>
                    <div class="form-group">
                        <label for="sex">性别</label>
                        <select class="form-control" id="sex" name="sex">
                            <option value="1">男</option>
                            <option value="2">女</option>
                        </select>
                    </div>

                    <div class="form-group">
                        <label for="score">成绩</label>
                        <input type="text" class="form-control" id="score" name="score" placeholder="成绩">
                    </div>
                </form>
                <!--表单结束-->

            </div>
            <div class="modal-footer">

                <button type="button" class="btn btn-primary" onclick="saveStudent();">保存</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div><!-- /.modal -->


<script src="/js/bootstrap.min.js"></script>
<script type="text/javascript">
    // 定义函数将数字转换为性别字符串
    function getGenderString(gender) {
        if (gender === 0) {
            return "未知";
        } else if (gender === 1) {
            return "男";
        } else if (gender === 2) {
            return "女";
        } else {
            return "";
        }
    }

    function loadTable(){

        $.ajax({
            url: '/webapi/student/list'
        }).done(function (rs){
            var len=rs.length;
            var html="";
            for (var i=0;i<len;i++){
                var item=rs[i];
                html+="<tr>"
                    +"<td>"+item.id+"</td>"
                    +"<td>"+item.name+"</td>"
                    +"<td>"+getGenderString(item.sex)+"</td>"
                    +"<td>"+item.score+"</td>"
                    +"<td> <a href='#' onclick='editStudent("+item.id+");'>编辑</a>&nbsp&nbsp&nbsp&nbsp<a href='#' onclick='deleteStudent("+
                    item.id+")'>删除</a> </td>"

                    +"</tr>"
            }
            $("#studentTb").html(html);
        })
    }

    //新增或更新
    function saveStudent() {

        var data=$("#formStudent").serialize();

        var id=$("#id").val();
        if (id<1){
            //新增
            $.ajax({

                url: "/webapi/student/insert",
                method:"post",

                data:data


            }).done(function (){

                loadTable();

                $("#myModal").modal("hide");

            })
        }else{
            //更新
            $.ajax({

                url: "/webapi/student/update",
                method:"put",

                data:data


            }).done(function (){

                loadTable();

                $("#myModal").modal("hide");

            })
        }

    }

    function editStudent(id) {

        $("#myModal").modal("show");

        $.ajax({
            url:"/webapi/student/get/"+id
        }).done(function (rs) {

            $("#id").val(rs.id);
            $("#name").val(rs.name);
            $("#password").val("");
            $("#sex").val(rs.sex);
            $("#score").val(rs.score);

        })

    }

    function preAdd() {

        $("#id").val(0);//提示新增

    }

    function deleteStudent(id) {

        if (confirm("确认是否删除")){
            $.ajax({

                url:"/webapi/student/delete/"+id,
                method:"delete"
            }).done(function () {

                loadTable();

            });
        }

    }

    function searchByName() {
        var name = $("#searchName").val();

        if (name === "") {
            loadTable();
        } else {
            $.ajax({
                url: '/webapi/student/search',
                data: {name: name}
            }).done(function (rs) {
                var len = rs.length;
                var html = "";
                for (var i = 0; i < len; i++) {
                    var item = rs[i];
                    html += "<tr>"
                        + "<td>" + item.id + "</td>"
                        + "<td>" + item.name + "</td>"
                        + "<td>" + getGenderString(item.sex) + "</td>"
                        + "<td>" + item.score + "</td>"
                        + "<td> <a href='#' onclick='editStudent(" + item.id + ");'>编辑</a>&nbsp&nbsp&nbsp&nbsp<a href='#' onclick='deleteStudent(" +
                        item.id + ")'>删除</a> </td>"
                        + "</tr>"
                }
                $("#studentTb").html(html);
            })
        }
    }



    $(function () {

        loadTable();
    })
</script>
</body>
</html>